home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / gui / textfield.lha / TextField / Source / prefs_dis.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-27  |  5.0 KB  |  221 lines

  1. /* This file contains empty template routines that
  2.  * the IDCMP handler will call uppon. Fill out these
  3.  * routines with your code or use them as a reference
  4.  * to create your program.
  5.  */
  6.  
  7. #include <graphics/text.h>
  8. #include <intuition/intuition.h>
  9. #include <intuition/gadgetclass.h>
  10. #include <gadgets/textfield.h>
  11.  
  12. #include <proto/intuition.h>
  13. #include <proto/gadtools.h>
  14.  
  15. #include "prefs.h"
  16.  
  17. extern struct Window *window;
  18. extern struct Gadget *edit_object;
  19. extern ULONG style;
  20. extern UWORD *pens;
  21.  
  22. int block_cursor_checkClicked( void )
  23. {
  24.     /* routine when gadget "Block Cursor" is clicked. */
  25.     SetGadgetAttrs(edit_object, window, NULL,
  26.                     TEXTFIELD_BlockCursor, TextFieldPrefsGadgets[GDX_block_cursor_check]->Flags & GFLG_SELECTED,
  27.                     TAG_DONE);
  28.     return TRUE;
  29. }
  30.  
  31. int disable_checkClicked( void )
  32. {
  33.     /* routine when gadget "Disable" is clicked. */
  34.     SetGadgetAttrs(edit_object, window, NULL,
  35.                     GA_Disabled, TextFieldPrefsGadgets[GDX_disable_check]->Flags & GFLG_SELECTED,
  36.                     TAG_DONE);
  37.     return TRUE;
  38. }
  39.  
  40. int no_ghost_checkClicked( void )
  41. {
  42.     /* routine when gadget "No Ghost" is clicked. */
  43.     SetGadgetAttrs(edit_object, window, NULL,
  44.                     TEXTFIELD_NoGhost, TextFieldPrefsGadgets[GDX_no_ghost_check]->Flags & GFLG_SELECTED,
  45.                     TAG_DONE);
  46.     return TRUE;
  47. }
  48.  
  49. int italic_checkClicked( void )
  50. {
  51.     /* routine when gadget "Italic" is clicked. */
  52.     if (TextFieldPrefsGadgets[GDX_italic_check]->Flags & GFLG_SELECTED) {
  53.         style |= FSF_ITALIC;
  54.     } else {
  55.         style &= ~FSF_ITALIC;
  56.     }
  57.     SetGadgetAttrs(edit_object, window, NULL,
  58.                     TEXTFIELD_FontStyle, style,
  59.                     TAG_DONE);
  60.     return TRUE;
  61. }
  62.  
  63. int underline_checkClicked( void )
  64. {
  65.     /* routine when gadget "Underline" is clicked. */
  66.     if (TextFieldPrefsGadgets[GDX_underline_check]->Flags & GFLG_SELECTED) {
  67.         style |= FSF_UNDERLINED;
  68.     } else {
  69.         style &= ~FSF_UNDERLINED;
  70.     }
  71.     SetGadgetAttrs(edit_object, window, NULL,
  72.                     TEXTFIELD_FontStyle, style,
  73.                     TAG_DONE);
  74.     return TRUE;
  75. }
  76.  
  77. int bold_checkClicked( void )
  78. {
  79.     /* routine when gadget "Bold" is clicked. */
  80.     if (TextFieldPrefsGadgets[GDX_bold_check]->Flags & GFLG_SELECTED) {
  81.         style |= FSF_BOLD;
  82.     } else {
  83.         style &= ~FSF_BOLD;
  84.     }
  85.     SetGadgetAttrs(edit_object, window, NULL,
  86.                     TEXTFIELD_FontStyle, style,
  87.                     TAG_DONE);
  88.     return TRUE;
  89. }
  90.  
  91. int align_radioClicked( void )
  92. {
  93.     /* routine when gadget "" is clicked. */
  94.     ULONG align;
  95.  
  96.     switch (TextFieldPrefsMsg.Code) {
  97.         case 0:
  98.             align = TEXTFIELD_ALIGN_LEFT;
  99.             break;
  100.         case 1:
  101.             align = TEXTFIELD_ALIGN_CENTER;
  102.             break;
  103.         case 2:
  104.             align = TEXTFIELD_ALIGN_RIGHT;
  105.             break;
  106.     }
  107.     SetGadgetAttrs(edit_object, window, NULL,
  108.                     TEXTFIELD_Alignment, align,
  109.                     TAG_DONE);
  110.     return TRUE;
  111. }
  112.  
  113. int vcenter_checkClicked( void )
  114. {
  115.     /* routine when gadget "Vertical Centering" is clicked. */
  116.     SetGadgetAttrs(edit_object, window, NULL,
  117.                     TEXTFIELD_VCenter, TextFieldPrefsGadgets[GDX_vcenter_check]->Flags & GFLG_SELECTED,
  118.                     TAG_DONE);
  119.     return TRUE;
  120. }
  121.  
  122. int ruled_paper_checkClicked( void )
  123. {
  124.     /* routine when gadget "Ruled Paper" is clicked. */
  125.     SetGadgetAttrs(edit_object, window, NULL,
  126.                     TEXTFIELD_RuledPaper, TextFieldPrefsGadgets[GDX_ruled_paper_check]->Flags & GFLG_SELECTED,
  127.                     TAG_DONE);
  128.     return TRUE;
  129. }
  130.  
  131. int spacing_sliderClicked( void )
  132. {
  133.     /* routine when gadget "Spacing:" is clicked. */
  134.     SetGadgetAttrs(edit_object, window, NULL,
  135.                     TEXTFIELD_Spacing, TextFieldPrefsMsg.Code,
  136.                     TAG_DONE);
  137.     return TRUE;
  138. }
  139.  
  140. int blink_radioClicked( void )
  141. {
  142.     /* routine when gadget "" is clicked. */
  143.     ULONG blink;
  144.  
  145.     switch (TextFieldPrefsMsg.Code) {
  146.         case 0:
  147.             blink = 0;
  148.             break;
  149.         case 1:
  150.             blink = 750000;
  151.             break;
  152.         case 2:
  153.             blink = 500000;
  154.             break;
  155.         case 3:
  156.             blink = 250000;
  157.             break;
  158.     }
  159.     SetGadgetAttrs(edit_object, window, NULL,
  160.                     TEXTFIELD_BlinkRate, blink,
  161.                     TAG_DONE);
  162.     return TRUE;
  163. }
  164.  
  165. int border_radioClicked( void )
  166. {
  167.     /* routine when gadget "" is clicked. */
  168.     ULONG border;
  169.  
  170.     switch (TextFieldPrefsMsg.Code) {
  171.         case 0:
  172.             border = TEXTFIELD_BORDER_NONE;
  173.             break;
  174.         case 1:
  175.             border = TEXTFIELD_BORDER_BEVEL;
  176.             break;
  177.         case 2:
  178.             border = TEXTFIELD_BORDER_DOUBLEBEVEL;
  179.             break;
  180.     }
  181.     SetGadgetAttrs(edit_object, window, NULL,
  182.                     TEXTFIELD_Border, border,
  183.                     TAG_DONE);
  184.     return TRUE;
  185. }
  186.  
  187. int invert_checkClicked( void )
  188. {
  189.     /* routine when gadget "Inverted" is clicked. */
  190.     SetGadgetAttrs(edit_object, window, NULL,
  191.                     TEXTFIELD_Inverted, TextFieldPrefsGadgets[GDX_invert_check]->Flags & GFLG_SELECTED,
  192.                     TAG_DONE);
  193.     return TRUE;
  194. }
  195.  
  196. int partial_checkClicked( void )
  197. {
  198.     /* routine when gadget "Partial" is clicked. */
  199.     SetGadgetAttrs(edit_object, window, NULL,
  200.                     TEXTFIELD_Partial, TextFieldPrefsGadgets[GDX_partial_check]->Flags & GFLG_SELECTED,
  201.                     TAG_DONE);
  202.     return TRUE;
  203. }
  204.  
  205. int notepad_checkClicked( void )
  206. {
  207.     /* routine when gadget "Block Cursor" is clicked. */
  208.     if (TextFieldPrefsGadgets[GDX_notepad_check]->Flags & GFLG_SELECTED) {
  209.         SetGadgetAttrs(edit_object, window, NULL,
  210.                         TEXTFIELD_PaperPen,    pens[SHINEPEN],
  211.                         TEXTFIELD_LinePen,    pens[FILLPEN],
  212.                         TAG_DONE);
  213.     } else {
  214.         SetGadgetAttrs(edit_object, window, NULL,
  215.                         TEXTFIELD_PaperPen,    -1,
  216.                         TEXTFIELD_LinePen,    -1,
  217.                         TAG_DONE);
  218.     }
  219.     return TRUE;
  220. }
  221.